/*------------------------------------------------------------------------------
 * MDK Middleware - Component ::USB:Device
 * Copyright (c) 2004-2024 Arm Limited (or its affiliates). All rights reserved.
 *------------------------------------------------------------------------------
 * Name:    usbd_compatibility.h
 * Purpose: USB Device (USBD) - Compatibility definitions
 *----------------------------------------------------------------------------*/

#ifndef  USBD_COMPATIBILITY_
#define  USBD_COMPATIBILITY_

#include "RTE_Components.h"

#ifdef    RTE_CMSIS_RTOS2
#include "cmsis_os2.h"
#endif
#ifdef    RTE_CMSIS_RTOS2_RTX5
#include "rtx_os.h"
#endif

/*------------------------------------------------------------------------------
 *      USB Device 0..3 compatibility defines
 *----------------------------------------------------------------------------*/

#ifndef USBD0_CORE_THREAD_STACK_SIZE
#define USBD0_CORE_THREAD_STACK_SIZE            (0U)
#endif
#ifndef USBD0_CORE_THREAD_PRIORITY
#define USBD0_CORE_THREAD_PRIORITY              (osPriorityAboveNormal)
#endif
#ifndef USBD0_STR_DESC_SER_MAX_LEN
#define USBD0_STR_DESC_SER_MAX_LEN              (16)
#endif
#ifndef USBD0_OS_DESC_EN
#define USBD0_OS_DESC_EN                        (0)
#endif
#ifndef USBD0_OS_DESC_VENDOR_CODE
#define USBD0_OS_DESC_VENDOR_CODE               (1)
#endif
#ifndef USBD0_EP0_BUF_SIZE
#define USBD0_EP0_BUF_SIZE                      (USBD0_MAX_PACKET0)
#endif
#ifndef USBD0_BUF_MEM_LOCATE
#define USBD0_BUF_MEM_LOCATE                    (0)
#endif

#ifndef USBD1_CORE_THREAD_STACK_SIZE
#define USBD1_CORE_THREAD_STACK_SIZE            (0U)
#endif
#ifndef USBD1_CORE_THREAD_PRIORITY
#define USBD1_CORE_THREAD_PRIORITY              (osPriorityAboveNormal)
#endif
#ifndef USBD1_STR_DESC_SER_MAX_LEN
#define USBD1_STR_DESC_SER_MAX_LEN              (16)
#endif
#ifndef USBD1_OS_DESC_EN
#define USBD1_OS_DESC_EN                        (0)
#endif
#ifndef USBD1_OS_DESC_VENDOR_CODE
#define USBD1_OS_DESC_VENDOR_CODE               (1)
#endif
#ifndef USBD1_EP0_BUF_SIZE
#define USBD1_EP0_BUF_SIZE                      (USBD1_MAX_PACKET0)
#endif
#ifndef USBD1_BUF_MEM_LOCATE
#define USBD1_BUF_MEM_LOCATE                    (0)
#endif

#ifndef USBD2_CORE_THREAD_STACK_SIZE
#define USBD2_CORE_THREAD_STACK_SIZE            (0U)
#endif
#ifndef USBD2_CORE_THREAD_PRIORITY
#define USBD2_CORE_THREAD_PRIORITY              (osPriorityAboveNormal)
#endif
#ifndef USBD2_STR_DESC_SER_MAX_LEN
#define USBD2_STR_DESC_SER_MAX_LEN              (16)
#endif
#ifndef USBD2_OS_DESC_EN
#define USBD2_OS_DESC_EN                        (0)
#endif
#ifndef USBD2_OS_DESC_VENDOR_CODE
#define USBD2_OS_DESC_VENDOR_CODE               (1)
#endif
#ifndef USBD2_EP0_BUF_SIZE
#define USBD2_EP0_BUF_SIZE                      (USBD2_MAX_PACKET0)
#endif
#ifndef USBD2_BUF_MEM_LOCATE
#define USBD2_BUF_MEM_LOCATE                    (0)
#endif

#ifndef USBD3_CORE_THREAD_STACK_SIZE
#define USBD3_CORE_THREAD_STACK_SIZE            (0U)
#endif
#ifndef USBD3_CORE_THREAD_PRIORITY
#define USBD3_CORE_THREAD_PRIORITY              (osPriorityAboveNormal)
#endif
#ifndef USBD3_STR_DESC_SER_MAX_LEN
#define USBD3_STR_DESC_SER_MAX_LEN              (16)
#endif
#ifndef USBD3_OS_DESC_EN
#define USBD3_OS_DESC_EN                        (0)
#endif
#ifndef USBD3_OS_DESC_VENDOR_CODE
#define USBD3_OS_DESC_VENDOR_CODE               (1)
#endif
#ifndef USBD3_EP0_BUF_SIZE
#define USBD3_EP0_BUF_SIZE                      (USBD3_MAX_PACKET0)
#endif
#ifndef USBD3_BUF_MEM_LOCATE
#define USBD3_BUF_MEM_LOCATE                    (0)
#endif


/*------------------------------------------------------------------------------
 *      USB Device Custom Class 0..3 compatibility defines
 *----------------------------------------------------------------------------*/

#ifdef  RTE_USB_Device_CustomClass_0
#ifndef USBD_CUSTOM_CLASS0_IAD_CLASS
#define USBD_CUSTOM_CLASS0_IAD_CLASS            (USBD_CUSTOM_CLASS0_IF0_CLASS)
#endif
#ifndef USBD_CUSTOM_CLASS0_IAD_EN
#define USBD_CUSTOM_CLASS0_IAD_EN               (1U)
#endif
#ifndef USBD_CUSTOM_CLASS0_IAD_SUBCLASS
#define USBD_CUSTOM_CLASS0_IAD_SUBCLASS         (USBD_CUSTOM_CLASS0_IF0_SUBCLASS)
#endif
#ifndef USBD_CUSTOM_CLASS0_IAD_PROTOCOL
#define USBD_CUSTOM_CLASS0_IAD_PROTOCOL         (USBD_CUSTOM_CLASS0_IF0_PROTOCOL)
#endif
#ifndef USBD_CUSTOM_CLASS0_IF0_STR_EN
#define USBD_CUSTOM_CLASS0_IF0_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS0_IF1_STR_EN
#define USBD_CUSTOM_CLASS0_IF1_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS0_IF2_STR_EN
#define USBD_CUSTOM_CLASS0_IF2_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS0_IF3_STR_EN
#define USBD_CUSTOM_CLASS0_IF3_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS0_IF0_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS0_IF0_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS0_IF0_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS0_IF1_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS0_IF1_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS0_IF1_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS0_IF2_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS0_IF2_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS0_IF2_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS0_IF3_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS0_IF3_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS0_IF3_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_SUBCOMPAT_ID      ""
#endif

#ifndef USBD_CUSTOM_CLASS0_IF0_EP0_EN
#define USBD_CUSTOM_CLASS0_IF0_EP0_EN                   (USBD_CUSTOM_CLASS0_IF0_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF0_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF0_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF0_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS0_IF0_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF0_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF0_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF0_EP1_EN                   (USBD_CUSTOM_CLASS0_IF0_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS0_IF0_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF0_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF0_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF0_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF0_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF0_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF0_EP2_EN                   (USBD_CUSTOM_CLASS0_IF0_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF0_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS0_IF0_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF0_EP_INT_OUT)
#define USBD_CUSTOM_CLASS0_IF0_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF0_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF0_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF0_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF0_EP3_EN                   (USBD_CUSTOM_CLASS0_IF0_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS0_IF0_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS0_IF0_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF0_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF0_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF0_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF0_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF0_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF0_EP4_EN                   (USBD_CUSTOM_CLASS0_IF0_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF0_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS0_IF0_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF0_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS0_IF0_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF0_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF0_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF0_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF0_EP5_EN                   (USBD_CUSTOM_CLASS0_IF0_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS0_IF0_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS0_IF0_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF0_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF0_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF0_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF0_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF0_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF0_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF0_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF0_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS0_IF0_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF0_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS0_IF0_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS0_IF0_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF0_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS0_IF0_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF0_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS0_IF0_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF0_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS0_IF0_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS0_IF0_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF0_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS0_IF0_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF0_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS0_IF1_EP0_EN
#define USBD_CUSTOM_CLASS0_IF1_EP0_EN                   (USBD_CUSTOM_CLASS0_IF1_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF1_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF1_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF1_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS0_IF1_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF1_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF1_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF1_EP1_EN                   (USBD_CUSTOM_CLASS0_IF1_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS0_IF1_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF1_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF1_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF1_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF1_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF1_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF1_EP2_EN                   (USBD_CUSTOM_CLASS0_IF1_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF1_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS0_IF1_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF1_EP_INT_OUT)
#define USBD_CUSTOM_CLASS0_IF1_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF1_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF1_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF1_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF1_EP3_EN                   (USBD_CUSTOM_CLASS0_IF1_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS0_IF1_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS0_IF1_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF1_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF1_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF1_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF1_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF1_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF1_EP4_EN                   (USBD_CUSTOM_CLASS0_IF1_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF1_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS0_IF1_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF1_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS0_IF1_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF1_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF1_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF1_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF1_EP5_EN                   (USBD_CUSTOM_CLASS0_IF1_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS0_IF1_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS0_IF1_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF1_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF1_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF1_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF1_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF1_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF1_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF1_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF1_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS0_IF1_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF1_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS0_IF1_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS0_IF1_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF1_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS0_IF1_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF1_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS0_IF1_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF1_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS0_IF1_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS0_IF1_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF1_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS0_IF1_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF1_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS0_IF2_EP0_EN
#define USBD_CUSTOM_CLASS0_IF2_EP0_EN                   (USBD_CUSTOM_CLASS0_IF2_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF2_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF2_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF2_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS0_IF2_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF2_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF2_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF2_EP1_EN                   (USBD_CUSTOM_CLASS0_IF2_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS0_IF2_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF2_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF2_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF2_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF2_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF2_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF2_EP2_EN                   (USBD_CUSTOM_CLASS0_IF2_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF2_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS0_IF2_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF2_EP_INT_OUT)
#define USBD_CUSTOM_CLASS0_IF2_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF2_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF2_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF2_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF2_EP3_EN                   (USBD_CUSTOM_CLASS0_IF2_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS0_IF2_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS0_IF2_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF2_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF2_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF2_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF2_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF2_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF2_EP4_EN                   (USBD_CUSTOM_CLASS0_IF2_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF2_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS0_IF2_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF2_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS0_IF2_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF2_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF2_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF2_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF2_EP5_EN                   (USBD_CUSTOM_CLASS0_IF2_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS0_IF2_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS0_IF2_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF2_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF2_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF2_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF2_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF2_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF2_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF2_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF2_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS0_IF2_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF2_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS0_IF2_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS0_IF2_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF2_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS0_IF2_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF2_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS0_IF2_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF2_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS0_IF2_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS0_IF2_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF2_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS0_IF2_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF2_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS0_IF3_EP0_EN
#define USBD_CUSTOM_CLASS0_IF3_EP0_EN                   (USBD_CUSTOM_CLASS0_IF3_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF3_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF3_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF3_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS0_IF3_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF3_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF3_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF3_EP1_EN                   (USBD_CUSTOM_CLASS0_IF3_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS0_IF3_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF3_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF3_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF3_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF3_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF3_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF3_EP2_EN                   (USBD_CUSTOM_CLASS0_IF3_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF3_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS0_IF3_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF3_EP_INT_OUT)
#define USBD_CUSTOM_CLASS0_IF3_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF3_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF3_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF3_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF3_EP3_EN                   (USBD_CUSTOM_CLASS0_IF3_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS0_IF3_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS0_IF3_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF3_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF3_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF3_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF3_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF3_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF3_EP4_EN                   (USBD_CUSTOM_CLASS0_IF3_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS0_IF3_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS0_IF3_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF3_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS0_IF3_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF3_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF3_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF3_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF3_EP5_EN                   (USBD_CUSTOM_CLASS0_IF3_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS0_IF3_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS0_IF3_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS0_IF3_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS0_IF3_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF3_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF3_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS0_IF3_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS0_IF3_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS0_IF3_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS0_IF3_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS0_IF3_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF3_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS0_IF3_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS0_IF3_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF3_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS0_IF3_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF3_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS0_IF3_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS0_IF3_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS0_IF3_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS0_IF3_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS0_IF3_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS0_IF3_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS0_IF3_OS_EXT_PROP3_DATA_INT    (0U)
#endif
#endif

#ifdef  RTE_USB_Device_CustomClass_1
#ifndef USBD_CUSTOM_CLASS1_IAD_CLASS
#define USBD_CUSTOM_CLASS1_IAD_CLASS            (USBD_CUSTOM_CLASS1_IF0_CLASS)
#endif
#ifndef USBD_CUSTOM_CLASS1_IAD_EN
#define USBD_CUSTOM_CLASS1_IAD_EN               (1U)
#endif
#ifndef USBD_CUSTOM_CLASS1_IAD_SUBCLASS
#define USBD_CUSTOM_CLASS1_IAD_SUBCLASS         (USBD_CUSTOM_CLASS1_IF0_SUBCLASS)
#endif
#ifndef USBD_CUSTOM_CLASS1_IAD_PROTOCOL
#define USBD_CUSTOM_CLASS1_IAD_PROTOCOL         (USBD_CUSTOM_CLASS1_IF0_PROTOCOL)
#endif
#ifndef USBD_CUSTOM_CLASS1_IF0_STR_EN
#define USBD_CUSTOM_CLASS1_IF0_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS1_IF1_STR_EN
#define USBD_CUSTOM_CLASS1_IF1_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS1_IF2_STR_EN
#define USBD_CUSTOM_CLASS1_IF2_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS1_IF3_STR_EN
#define USBD_CUSTOM_CLASS1_IF3_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS1_IF0_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS1_IF0_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS1_IF0_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS1_IF1_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS1_IF1_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS1_IF1_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS1_IF2_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS1_IF2_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS1_IF2_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS1_IF3_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS1_IF3_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS1_IF3_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_SUBCOMPAT_ID      ""
#endif

#ifndef USBD_CUSTOM_CLASS1_IF0_EP0_EN
#define USBD_CUSTOM_CLASS1_IF0_EP0_EN                   (USBD_CUSTOM_CLASS1_IF0_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF0_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF0_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF0_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS1_IF0_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF0_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF0_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF0_EP1_EN                   (USBD_CUSTOM_CLASS1_IF0_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS1_IF0_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF0_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF0_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF0_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF0_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF0_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF0_EP2_EN                   (USBD_CUSTOM_CLASS1_IF0_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF0_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS1_IF0_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF0_EP_INT_OUT)
#define USBD_CUSTOM_CLASS1_IF0_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF0_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF0_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF0_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF0_EP3_EN                   (USBD_CUSTOM_CLASS1_IF0_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS1_IF0_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS1_IF0_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF0_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF0_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF0_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF0_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF0_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF0_EP4_EN                   (USBD_CUSTOM_CLASS1_IF0_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF0_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS1_IF0_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF0_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS1_IF0_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF0_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF0_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF0_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF0_EP5_EN                   (USBD_CUSTOM_CLASS1_IF0_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS1_IF0_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS1_IF0_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF0_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF0_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF0_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF0_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF0_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF0_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF0_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF0_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS1_IF0_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF0_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS1_IF0_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS1_IF0_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF0_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS1_IF0_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF0_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS1_IF0_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF0_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS1_IF0_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS1_IF0_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF0_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS1_IF0_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF0_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS1_IF1_EP0_EN
#define USBD_CUSTOM_CLASS1_IF1_EP0_EN                   (USBD_CUSTOM_CLASS1_IF1_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF1_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF1_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF1_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS1_IF1_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF1_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF1_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF1_EP1_EN                   (USBD_CUSTOM_CLASS1_IF1_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS1_IF1_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF1_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF1_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF1_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF1_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF1_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF1_EP2_EN                   (USBD_CUSTOM_CLASS1_IF1_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF1_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS1_IF1_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF1_EP_INT_OUT)
#define USBD_CUSTOM_CLASS1_IF1_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF1_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF1_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF1_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF1_EP3_EN                   (USBD_CUSTOM_CLASS1_IF1_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS1_IF1_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS1_IF1_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF1_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF1_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF1_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF1_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF1_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF1_EP4_EN                   (USBD_CUSTOM_CLASS1_IF1_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF1_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS1_IF1_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF1_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS1_IF1_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF1_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF1_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF1_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF1_EP5_EN                   (USBD_CUSTOM_CLASS1_IF1_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS1_IF1_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS1_IF1_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF1_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF1_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF1_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF1_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF1_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF1_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF1_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF1_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS1_IF1_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF1_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS1_IF1_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS1_IF1_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF1_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS1_IF1_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF1_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS1_IF1_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF1_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS1_IF1_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS1_IF1_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF1_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS1_IF1_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF1_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS1_IF2_EP0_EN
#define USBD_CUSTOM_CLASS1_IF2_EP0_EN                   (USBD_CUSTOM_CLASS1_IF2_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF2_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF2_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF2_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS1_IF2_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF2_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF2_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF2_EP1_EN                   (USBD_CUSTOM_CLASS1_IF2_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS1_IF2_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF2_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF2_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF2_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF2_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF2_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF2_EP2_EN                   (USBD_CUSTOM_CLASS1_IF2_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF2_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS1_IF2_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF2_EP_INT_OUT)
#define USBD_CUSTOM_CLASS1_IF2_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF2_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF2_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF2_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF2_EP3_EN                   (USBD_CUSTOM_CLASS1_IF2_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS1_IF2_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS1_IF2_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF2_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF2_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF2_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF2_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF2_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF2_EP4_EN                   (USBD_CUSTOM_CLASS1_IF2_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF2_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS1_IF2_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF2_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS1_IF2_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF2_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF2_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF2_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF2_EP5_EN                   (USBD_CUSTOM_CLASS1_IF2_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS1_IF2_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS1_IF2_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF2_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF2_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF2_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF2_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF2_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF2_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF2_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF2_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS1_IF2_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF2_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS1_IF2_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS1_IF2_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF2_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS1_IF2_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF2_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS1_IF2_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF2_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS1_IF2_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS1_IF2_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF2_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS1_IF2_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF2_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS1_IF3_EP0_EN
#define USBD_CUSTOM_CLASS1_IF3_EP0_EN                   (USBD_CUSTOM_CLASS1_IF3_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF3_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF3_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF3_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS1_IF3_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF3_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF3_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF3_EP1_EN                   (USBD_CUSTOM_CLASS1_IF3_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS1_IF3_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF3_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF3_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF3_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF3_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF3_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF3_EP2_EN                   (USBD_CUSTOM_CLASS1_IF3_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF3_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS1_IF3_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF3_EP_INT_OUT)
#define USBD_CUSTOM_CLASS1_IF3_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF3_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF3_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF3_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF3_EP3_EN                   (USBD_CUSTOM_CLASS1_IF3_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS1_IF3_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS1_IF3_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF3_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF3_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF3_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF3_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF3_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF3_EP4_EN                   (USBD_CUSTOM_CLASS1_IF3_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS1_IF3_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS1_IF3_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF3_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS1_IF3_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF3_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF3_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF3_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF3_EP5_EN                   (USBD_CUSTOM_CLASS1_IF3_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS1_IF3_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS1_IF3_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS1_IF3_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS1_IF3_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF3_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF3_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS1_IF3_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS1_IF3_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS1_IF3_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS1_IF3_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS1_IF3_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF3_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS1_IF3_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS1_IF3_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF3_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS1_IF3_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF3_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS1_IF3_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS1_IF3_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS1_IF3_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS1_IF3_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS1_IF3_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS1_IF3_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS1_IF3_OS_EXT_PROP3_DATA_INT    (0U)
#endif
#endif

#ifdef  RTE_USB_Device_CustomClass_2
#ifndef USBD_CUSTOM_CLASS2_IAD_CLASS
#define USBD_CUSTOM_CLASS2_IAD_CLASS            (USBD_CUSTOM_CLASS2_IF0_CLASS)
#endif
#ifndef USBD_CUSTOM_CLASS2_IAD_EN
#define USBD_CUSTOM_CLASS2_IAD_EN               (1U)
#endif
#ifndef USBD_CUSTOM_CLASS2_IAD_SUBCLASS
#define USBD_CUSTOM_CLASS2_IAD_SUBCLASS         (USBD_CUSTOM_CLASS2_IF0_SUBCLASS)
#endif
#ifndef USBD_CUSTOM_CLASS2_IAD_PROTOCOL
#define USBD_CUSTOM_CLASS2_IAD_PROTOCOL         (USBD_CUSTOM_CLASS2_IF0_PROTOCOL)
#endif
#ifndef USBD_CUSTOM_CLASS2_IF0_STR_EN
#define USBD_CUSTOM_CLASS2_IF0_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS2_IF1_STR_EN
#define USBD_CUSTOM_CLASS2_IF1_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS2_IF2_STR_EN
#define USBD_CUSTOM_CLASS2_IF2_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS2_IF3_STR_EN
#define USBD_CUSTOM_CLASS2_IF3_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS2_IF0_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS2_IF0_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS2_IF0_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS2_IF1_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS2_IF1_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS2_IF1_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS2_IF2_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS2_IF2_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS2_IF2_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS2_IF3_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS2_IF3_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS2_IF3_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_SUBCOMPAT_ID      ""
#endif

#ifndef USBD_CUSTOM_CLASS2_IF0_EP0_EN
#define USBD_CUSTOM_CLASS2_IF0_EP0_EN                   (USBD_CUSTOM_CLASS2_IF0_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF0_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF0_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF0_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS2_IF0_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF0_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF0_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF0_EP1_EN                   (USBD_CUSTOM_CLASS2_IF0_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS2_IF0_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF0_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF0_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF0_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF0_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF0_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF0_EP2_EN                   (USBD_CUSTOM_CLASS2_IF0_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF0_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS2_IF0_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF0_EP_INT_OUT)
#define USBD_CUSTOM_CLASS2_IF0_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF0_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF0_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF0_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF0_EP3_EN                   (USBD_CUSTOM_CLASS2_IF0_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS2_IF0_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS2_IF0_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF0_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF0_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF0_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF0_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF0_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF0_EP4_EN                   (USBD_CUSTOM_CLASS2_IF0_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF0_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS2_IF0_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF0_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS2_IF0_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF0_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF0_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF0_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF0_EP5_EN                   (USBD_CUSTOM_CLASS2_IF0_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS2_IF0_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS2_IF0_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF0_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF0_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF0_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF0_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF0_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF0_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF0_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF0_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS2_IF0_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF0_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS2_IF0_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS2_IF0_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF0_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS2_IF0_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF0_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS2_IF0_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF0_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS2_IF0_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS2_IF0_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF0_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS2_IF0_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF0_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS2_IF1_EP0_EN
#define USBD_CUSTOM_CLASS2_IF1_EP0_EN                   (USBD_CUSTOM_CLASS2_IF1_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF1_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF1_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF1_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS2_IF1_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF1_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF1_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF1_EP1_EN                   (USBD_CUSTOM_CLASS2_IF1_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS2_IF1_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF1_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF1_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF1_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF1_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF1_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF1_EP2_EN                   (USBD_CUSTOM_CLASS2_IF1_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF1_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS2_IF1_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF1_EP_INT_OUT)
#define USBD_CUSTOM_CLASS2_IF1_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF1_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF1_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF1_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF1_EP3_EN                   (USBD_CUSTOM_CLASS2_IF1_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS2_IF1_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS2_IF1_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF1_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF1_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF1_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF1_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF1_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF1_EP4_EN                   (USBD_CUSTOM_CLASS2_IF1_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF1_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS2_IF1_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF1_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS2_IF1_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF1_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF1_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF1_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF1_EP5_EN                   (USBD_CUSTOM_CLASS2_IF1_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS2_IF1_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS2_IF1_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF1_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF1_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF1_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF1_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF1_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF1_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF1_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF1_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS2_IF1_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF1_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS2_IF1_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS2_IF1_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF1_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS2_IF1_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF1_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS2_IF1_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF1_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS2_IF1_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS2_IF1_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF1_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS2_IF1_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF1_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS2_IF2_EP0_EN
#define USBD_CUSTOM_CLASS2_IF2_EP0_EN                   (USBD_CUSTOM_CLASS2_IF2_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF2_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF2_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF2_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS2_IF2_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF2_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF2_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF2_EP1_EN                   (USBD_CUSTOM_CLASS2_IF2_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS2_IF2_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF2_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF2_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF2_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF2_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF2_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF2_EP2_EN                   (USBD_CUSTOM_CLASS2_IF2_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF2_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS2_IF2_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF2_EP_INT_OUT)
#define USBD_CUSTOM_CLASS2_IF2_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF2_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF2_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF2_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF2_EP3_EN                   (USBD_CUSTOM_CLASS2_IF2_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS2_IF2_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS2_IF2_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF2_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF2_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF2_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF2_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF2_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF2_EP4_EN                   (USBD_CUSTOM_CLASS2_IF2_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF2_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS2_IF2_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF2_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS2_IF2_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF2_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF2_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF2_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF2_EP5_EN                   (USBD_CUSTOM_CLASS2_IF2_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS2_IF2_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS2_IF2_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF2_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF2_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF2_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF2_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF2_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF2_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF2_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF2_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS2_IF2_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF2_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS2_IF2_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS2_IF2_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF2_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS2_IF2_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF2_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS2_IF2_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF2_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS2_IF2_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS2_IF2_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF2_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS2_IF2_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF2_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS2_IF3_EP0_EN
#define USBD_CUSTOM_CLASS2_IF3_EP0_EN                   (USBD_CUSTOM_CLASS2_IF3_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF3_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF3_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF3_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS2_IF3_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF3_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF3_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF3_EP1_EN                   (USBD_CUSTOM_CLASS2_IF3_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS2_IF3_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF3_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF3_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF3_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF3_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF3_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF3_EP2_EN                   (USBD_CUSTOM_CLASS2_IF3_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF3_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS2_IF3_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF3_EP_INT_OUT)
#define USBD_CUSTOM_CLASS2_IF3_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF3_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF3_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF3_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF3_EP3_EN                   (USBD_CUSTOM_CLASS2_IF3_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS2_IF3_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS2_IF3_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF3_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF3_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF3_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF3_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF3_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF3_EP4_EN                   (USBD_CUSTOM_CLASS2_IF3_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS2_IF3_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS2_IF3_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF3_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS2_IF3_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF3_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF3_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF3_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF3_EP5_EN                   (USBD_CUSTOM_CLASS2_IF3_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS2_IF3_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS2_IF3_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS2_IF3_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS2_IF3_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF3_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF3_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS2_IF3_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS2_IF3_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS2_IF3_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS2_IF3_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS2_IF3_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF3_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS2_IF3_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS2_IF3_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF3_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS2_IF3_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF3_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS2_IF3_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS2_IF3_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS2_IF3_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS2_IF3_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS2_IF3_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS2_IF3_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS2_IF3_OS_EXT_PROP3_DATA_INT    (0U)
#endif
#endif

#ifdef  RTE_USB_Device_CustomClass_3
#ifndef USBD_CUSTOM_CLASS3_IAD_CLASS
#define USBD_CUSTOM_CLASS3_IAD_CLASS            (USBD_CUSTOM_CLASS3_IF0_CLASS)
#endif
#ifndef USBD_CUSTOM_CLASS3_IAD_EN
#define USBD_CUSTOM_CLASS3_IAD_EN               (1U)
#endif
#ifndef USBD_CUSTOM_CLASS3_IAD_SUBCLASS
#define USBD_CUSTOM_CLASS3_IAD_SUBCLASS         (USBD_CUSTOM_CLASS3_IF0_SUBCLASS)
#endif
#ifndef USBD_CUSTOM_CLASS3_IAD_PROTOCOL
#define USBD_CUSTOM_CLASS3_IAD_PROTOCOL         (USBD_CUSTOM_CLASS3_IF0_PROTOCOL)
#endif
#ifndef USBD_CUSTOM_CLASS3_IF0_STR_EN
#define USBD_CUSTOM_CLASS3_IF0_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS3_IF1_STR_EN
#define USBD_CUSTOM_CLASS3_IF1_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS3_IF2_STR_EN
#define USBD_CUSTOM_CLASS3_IF2_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS3_IF3_STR_EN
#define USBD_CUSTOM_CLASS3_IF3_STR_EN           (1U)
#endif
#ifndef USBD_CUSTOM_CLASS3_IF0_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS3_IF0_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS3_IF0_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS3_IF1_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS3_IF1_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS3_IF1_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS3_IF2_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS3_IF2_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS3_IF2_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_SUBCOMPAT_ID      ""
#endif
#ifndef USBD_CUSTOM_CLASS3_IF3_OS_EXT_COMPAT_ID_EN
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_COMPAT_ID_EN      (0U)
#endif
#ifndef USBD_CUSTOM_CLASS3_IF3_OS_EXT_COMPAT_ID
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_COMPAT_ID         ""
#endif
#ifndef USBD_CUSTOM_CLASS3_IF3_OS_EXT_SUBCOMPAT_ID
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_SUBCOMPAT_ID      ""
#endif

#ifndef USBD_CUSTOM_CLASS3_IF0_EP0_EN
#define USBD_CUSTOM_CLASS3_IF0_EP0_EN                   (USBD_CUSTOM_CLASS3_IF0_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF0_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF0_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF0_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS3_IF0_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF0_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF0_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF0_EP1_EN                   (USBD_CUSTOM_CLASS3_IF0_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS3_IF0_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF0_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF0_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF0_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF0_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF0_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF0_EP2_EN                   (USBD_CUSTOM_CLASS3_IF0_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF0_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS3_IF0_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF0_EP_INT_OUT)
#define USBD_CUSTOM_CLASS3_IF0_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF0_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF0_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF0_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF0_EP3_EN                   (USBD_CUSTOM_CLASS3_IF0_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS3_IF0_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS3_IF0_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF0_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF0_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF0_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF0_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF0_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF0_EP4_EN                   (USBD_CUSTOM_CLASS3_IF0_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF0_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS3_IF0_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF0_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS3_IF0_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF0_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF0_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF0_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF0_EP5_EN                   (USBD_CUSTOM_CLASS3_IF0_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS3_IF0_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS3_IF0_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF0_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF0_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF0_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF0_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF0_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF0_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF0_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF0_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS3_IF0_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF0_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS3_IF0_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS3_IF0_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF0_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS3_IF0_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF0_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS3_IF0_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF0_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS3_IF0_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS3_IF0_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF0_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS3_IF0_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF0_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS3_IF1_EP0_EN
#define USBD_CUSTOM_CLASS3_IF1_EP0_EN                   (USBD_CUSTOM_CLASS3_IF1_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF1_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF1_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF1_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS3_IF1_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF1_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF1_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF1_EP1_EN                   (USBD_CUSTOM_CLASS3_IF1_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS3_IF1_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF1_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF1_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF1_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF1_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF1_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF1_EP2_EN                   (USBD_CUSTOM_CLASS3_IF1_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF1_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS3_IF1_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF1_EP_INT_OUT)
#define USBD_CUSTOM_CLASS3_IF1_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF1_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF1_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF1_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF1_EP3_EN                   (USBD_CUSTOM_CLASS3_IF1_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS3_IF1_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS3_IF1_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF1_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF1_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF1_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF1_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF1_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF1_EP4_EN                   (USBD_CUSTOM_CLASS3_IF1_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF1_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS3_IF1_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF1_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS3_IF1_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF1_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF1_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF1_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF1_EP5_EN                   (USBD_CUSTOM_CLASS3_IF1_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS3_IF1_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS3_IF1_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF1_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF1_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF1_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF1_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF1_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF1_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF1_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF1_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS3_IF1_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF1_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS3_IF1_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS3_IF1_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF1_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS3_IF1_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF1_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS3_IF1_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF1_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS3_IF1_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS3_IF1_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF1_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS3_IF1_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF1_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS3_IF2_EP0_EN
#define USBD_CUSTOM_CLASS3_IF2_EP0_EN                   (USBD_CUSTOM_CLASS3_IF2_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF2_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF2_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF2_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS3_IF2_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF2_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF2_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF2_EP1_EN                   (USBD_CUSTOM_CLASS3_IF2_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS3_IF2_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF2_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF2_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF2_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF2_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF2_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF2_EP2_EN                   (USBD_CUSTOM_CLASS3_IF2_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF2_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS3_IF2_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF2_EP_INT_OUT)
#define USBD_CUSTOM_CLASS3_IF2_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF2_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF2_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF2_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF2_EP3_EN                   (USBD_CUSTOM_CLASS3_IF2_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS3_IF2_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS3_IF2_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF2_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF2_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF2_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF2_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF2_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF2_EP4_EN                   (USBD_CUSTOM_CLASS3_IF2_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF2_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS3_IF2_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF2_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS3_IF2_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF2_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF2_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF2_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF2_EP5_EN                   (USBD_CUSTOM_CLASS3_IF2_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS3_IF2_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS3_IF2_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF2_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF2_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF2_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF2_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF2_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF2_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF2_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF2_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS3_IF2_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF2_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS3_IF2_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS3_IF2_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF2_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS3_IF2_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF2_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS3_IF2_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF2_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS3_IF2_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS3_IF2_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF2_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS3_IF2_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF2_OS_EXT_PROP3_DATA_INT    (0U)
#endif

#ifndef USBD_CUSTOM_CLASS3_IF3_EP0_EN
#define USBD_CUSTOM_CLASS3_IF3_EP0_EN                   (USBD_CUSTOM_CLASS3_IF3_EP_BULK_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF3_EP0_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF3_EP0_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF3_EP_BULK_OUT)
#define USBD_CUSTOM_CLASS3_IF3_EP0_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_BULK_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP0_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF3_EP0_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_BULK_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP0_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF3_EP_BULK_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF3_EP1_EN                   (USBD_CUSTOM_CLASS3_IF3_EP_BULK_IN_EN)
#define USBD_CUSTOM_CLASS3_IF3_EP1_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF3_EP1_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF3_EP_BULK_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF3_EP1_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_BULK_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP1_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF3_EP1_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_BULK_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP1_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF3_EP_BULK_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF3_EP2_EN                   (USBD_CUSTOM_CLASS3_IF3_EP_INT_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF3_EP2_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS3_IF3_EP2_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF3_EP_INT_OUT)
#define USBD_CUSTOM_CLASS3_IF3_EP2_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_INT_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP2_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF3_EP_INT_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF3_EP2_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_INT_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP2_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF3_EP_INT_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF3_EP3_EN                   (USBD_CUSTOM_CLASS3_IF3_EP_INT_IN_EN)
#define USBD_CUSTOM_CLASS3_IF3_EP3_BMATTRIBUTES         (0x03U)
#define USBD_CUSTOM_CLASS3_IF3_EP3_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF3_EP_INT_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF3_EP3_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_INT_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP3_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF3_EP_INT_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF3_EP3_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_INT_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP3_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF3_EP_INT_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF3_EP4_EN                   (USBD_CUSTOM_CLASS3_IF3_EP_ISO_OUT_EN)
#define USBD_CUSTOM_CLASS3_IF3_EP4_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS3_IF3_EP4_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF3_EP_ISO_OUT)
#define USBD_CUSTOM_CLASS3_IF3_EP4_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_ISO_OUT_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP4_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF3_EP_ISO_OUT_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF3_EP4_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_ISO_OUT_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP4_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF3_EP_ISO_OUT_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF3_EP5_EN                   (USBD_CUSTOM_CLASS3_IF3_EP_ISO_IN_EN)
#define USBD_CUSTOM_CLASS3_IF3_EP5_BMATTRIBUTES         (0x01U)
#define USBD_CUSTOM_CLASS3_IF3_EP5_BENDPOINTADDRESS     (USBD_CUSTOM_CLASS3_IF3_EP_ISO_IN | 0x80U)
#define USBD_CUSTOM_CLASS3_IF3_EP5_FS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_ISO_IN_FS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP5_FS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF3_EP_ISO_IN_FS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF3_EP5_HS_WMAXPACKETSIZE    (USBD_CUSTOM_CLASS3_IF3_EP_ISO_IN_HS_WMAXPACKETSIZE)
#define USBD_CUSTOM_CLASS3_IF3_EP5_HS_BINTERVAL         (USBD_CUSTOM_CLASS3_IF3_EP_ISO_IN_HS_BINTERVAL)
#define USBD_CUSTOM_CLASS3_IF3_EP6_EN                   (0U)
#define USBD_CUSTOM_CLASS3_IF3_EP6_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF3_EP6_BENDPOINTADDRESS     (0x01U)
#define USBD_CUSTOM_CLASS3_IF3_EP6_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS3_IF3_EP6_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF3_EP6_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS3_IF3_EP6_HS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF3_EP7_EN                   (0U)
#define USBD_CUSTOM_CLASS3_IF3_EP7_BMATTRIBUTES         (0x02U)
#define USBD_CUSTOM_CLASS3_IF3_EP7_BENDPOINTADDRESS     (0x81U)
#define USBD_CUSTOM_CLASS3_IF3_EP7_FS_WMAXPACKETSIZE    (64U)
#define USBD_CUSTOM_CLASS3_IF3_EP7_FS_BINTERVAL         (0U)
#define USBD_CUSTOM_CLASS3_IF3_EP7_HS_WMAXPACKETSIZE    (512U)
#define USBD_CUSTOM_CLASS3_IF3_EP7_HS_BINTERVAL         (0U)
#endif

#ifndef USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP0_EN
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP0_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP0_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP0_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP0_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP0_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP1_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP1_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP1_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP1_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP1_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP2_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP2_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP2_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP2_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP2_DATA_INT    (0U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP3_EN          (0U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP3_DATA_TYP    (1U)
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP3_NAME        (L"")
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP3_DATA_STR    (L"")
#define USBD_CUSTOM_CLASS3_IF3_OS_EXT_PROP3_DATA_INT    (0U)
#endif
#endif


/*------------------------------------------------------------------------------
 *      USB Device ADC 0..3 compatibility defines
 *----------------------------------------------------------------------------*/

#ifdef  RTE_USB_Device_ADC_0
#ifndef USBD_ADC0_THREAD_STACK_SIZE
#define USBD_ADC0_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_ADC0_THREAD_PRIORITY
#define USBD_ADC0_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif
#endif

#ifdef  RTE_USB_Device_ADC_1
#ifndef USBD_ADC1_THREAD_STACK_SIZE
#define USBD_ADC1_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_ADC1_THREAD_PRIORITY
#define USBD_ADC1_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif
#endif

#ifdef  RTE_USB_Device_ADC_2
#ifndef USBD_ADC2_THREAD_STACK_SIZE
#define USBD_ADC2_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_ADC2_THREAD_PRIORITY
#define USBD_ADC2_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif
#endif

#ifdef  RTE_USB_Device_ADC_3
#ifndef USBD_ADC3_THREAD_STACK_SIZE
#define USBD_ADC3_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_ADC3_THREAD_PRIORITY
#define USBD_ADC3_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif
#endif


/*------------------------------------------------------------------------------
 *      USB Device CDC 0..3 compatibility defines
 *----------------------------------------------------------------------------*/

#ifdef  RTE_USB_Device_CDC_0
#if    (USBD_CDC0_SUBCLASS == 2)
#ifndef USBD_CDC0_ACM_SEND_BUF_SIZE
#define USBD_CDC0_ACM_SEND_BUF_SIZE             (USBD_CDC0_SEND_BUF_SIZE)
#endif
#ifndef USBD_CDC0_ACM_RECEIVE_BUF_SIZE
#define USBD_CDC0_ACM_RECEIVE_BUF_SIZE          (USBD_CDC0_RECEIVE_BUF_SIZE)
#endif
#endif
#ifndef USBD_CDC0_PROTOCOL
#define USBD_CDC0_PROTOCOL                      (0U)
#endif
#ifndef USBD_CDC0_ACM_CM_BM_CAPABILITIES
#define USBD_CDC0_ACM_CM_BM_CAPABILITIES        (0x03U)
#endif
#ifndef USBD_CDC0_ACM_ACM_BM_CAPABILITIES
#define USBD_CDC0_ACM_ACM_BM_CAPABILITIES       (0x06U)
#endif
#endif

#ifdef  RTE_USB_Device_CDC_1
#if    (USBD_CDC1_SUBCLASS == 2)
#ifndef USBD_CDC1_ACM_SEND_BUF_SIZE
#define USBD_CDC1_ACM_SEND_BUF_SIZE             (USBD_CDC1_SEND_BUF_SIZE)
#endif
#ifndef USBD_CDC1_ACM_RECEIVE_BUF_SIZE
#define USBD_CDC1_ACM_RECEIVE_BUF_SIZE          (USBD_CDC1_RECEIVE_BUF_SIZE)
#endif
#endif
#ifndef USBD_CDC1_PROTOCOL
#define USBD_CDC1_PROTOCOL                      (0U)
#endif
#ifndef USBD_CDC1_ACM_CM_BM_CAPABILITIES
#define USBD_CDC1_ACM_CM_BM_CAPABILITIES        (0x03U)
#endif
#ifndef USBD_CDC1_ACM_ACM_BM_CAPABILITIES
#define USBD_CDC1_ACM_ACM_BM_CAPABILITIES       (0x06U)
#endif
#endif

#ifdef  RTE_USB_Device_CDC_2
#if    (USBD_CDC2_SUBCLASS == 2)
#ifndef USBD_CDC2_ACM_SEND_BUF_SIZE
#define USBD_CDC2_ACM_SEND_BUF_SIZE             (USBD_CDC2_SEND_BUF_SIZE)
#endif
#ifndef USBD_CDC2_ACM_RECEIVE_BUF_SIZE
#define USBD_CDC2_ACM_RECEIVE_BUF_SIZE          (USBD_CDC2_RECEIVE_BUF_SIZE)
#endif
#endif
#ifndef USBD_CDC2_PROTOCOL
#define USBD_CDC2_PROTOCOL                      (0U)
#endif
#ifndef USBD_CDC2_ACM_CM_BM_CAPABILITIES
#define USBD_CDC2_ACM_CM_BM_CAPABILITIES        (0x03U)
#endif
#ifndef USBD_CDC2_ACM_ACM_BM_CAPABILITIES
#define USBD_CDC2_ACM_ACM_BM_CAPABILITIES       (0x06U)
#endif
#endif

#ifdef  RTE_USB_Device_CDC_3
#if    (USBD_CDC3_SUBCLASS == 2)
#ifndef USBD_CDC3_ACM_SEND_BUF_SIZE
#define USBD_CDC3_ACM_SEND_BUF_SIZE             (USBD_CDC3_SEND_BUF_SIZE)
#endif
#ifndef USBD_CDC3_ACM_RECEIVE_BUF_SIZE
#define USBD_CDC3_ACM_RECEIVE_BUF_SIZE          (USBD_CDC3_RECEIVE_BUF_SIZE)
#endif
#endif
#ifndef USBD_CDC3_PROTOCOL
#define USBD_CDC3_PROTOCOL                      (0U)
#endif
#ifndef USBD_CDC3_ACM_CM_BM_CAPABILITIES
#define USBD_CDC3_ACM_CM_BM_CAPABILITIES        (0x03U)
#endif
#ifndef USBD_CDC3_ACM_ACM_BM_CAPABILITIES
#define USBD_CDC3_ACM_ACM_BM_CAPABILITIES       (0x06U)
#endif
#endif


/*------------------------------------------------------------------------------
 *      USB Device HID 0..7 compatibility defines
 *----------------------------------------------------------------------------*/

#ifdef  RTE_USB_Device_HID_0
#ifndef USBD_HID0_THREAD_STACK_SIZE
#define USBD_HID0_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_HID0_THREAD_PRIORITY
#define USBD_HID0_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_HID0_EP_INT_IN_WMAXPACKETSIZE
#ifdef  USBD_HID0_WMAXPACKETSIZE
#define USBD_HID0_EP_INT_IN_WMAXPACKETSIZE      (USBD_HID0_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID0_EP_INT_IN_BINTERVAL
#ifdef  USBD_HID0_BINTERVAL
#define USBD_HID0_EP_INT_IN_BINTERVAL           (USBD_HID0_BINTERVAL)
#endif
#endif
#ifndef USBD_HID0_EP_INT_IN_HS_WMAXPACKETSIZE
#ifdef  USBD_HID0_HS_WMAXPACKETSIZE
#define USBD_HID0_EP_INT_IN_HS_WMAXPACKETSIZE   (USBD_HID0_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID0_EP_INT_IN_HS_BINTERVAL
#ifdef  USBD_HID0_HS_BINTERVAL
#define USBD_HID0_EP_INT_IN_HS_BINTERVAL        (USBD_HID0_HS_BINTERVAL)
#endif
#endif
#ifndef USBD_HID0_EP_INT_OUT_WMAXPACKETSIZE
#ifdef  USBD_HID0_WMAXPACKETSIZE
#define USBD_HID0_EP_INT_OUT_WMAXPACKETSIZE     (USBD_HID0_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID0_EP_INT_OUT_BINTERVAL
#ifdef  USBD_HID0_BINTERVAL
#define USBD_HID0_EP_INT_OUT_BINTERVAL          (USBD_HID0_BINTERVAL)
#endif
#endif
#ifndef USBD_HID0_EP_INT_OUT_HS_WMAXPACKETSIZE
#ifdef  USBD_HID0_HS_WMAXPACKETSIZE
#define USBD_HID0_EP_INT_OUT_HS_WMAXPACKETSIZE  (USBD_HID0_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID0_EP_INT_OUT_HS_BINTERVAL
#ifdef  USBD_HID0_HS_BINTERVAL
#define USBD_HID0_EP_INT_OUT_HS_BINTERVAL       (USBD_HID0_HS_BINTERVAL)
#endif
#endif

#ifndef USBD_HID0_USER_REPORT_DESCRIPTOR
#define USBD_HID0_USER_REPORT_DESCRIPTOR        (0U)
#endif
#endif

#ifdef  RTE_USB_Device_HID_1
#ifndef USBD_HID1_THREAD_STACK_SIZE
#define USBD_HID1_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_HID1_THREAD_PRIORITY
#define USBD_HID1_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_HID1_EP_INT_IN_WMAXPACKETSIZE
#ifdef  USBD_HID1_WMAXPACKETSIZE
#define USBD_HID1_EP_INT_IN_WMAXPACKETSIZE      (USBD_HID1_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID1_EP_INT_IN_BINTERVAL
#ifdef  USBD_HID1_BINTERVAL
#define USBD_HID1_EP_INT_IN_BINTERVAL           (USBD_HID1_BINTERVAL)
#endif
#endif
#ifndef USBD_HID1_EP_INT_IN_HS_WMAXPACKETSIZE
#ifdef  USBD_HID1_HS_WMAXPACKETSIZE
#define USBD_HID1_EP_INT_IN_HS_WMAXPACKETSIZE   (USBD_HID1_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID1_EP_INT_IN_HS_BINTERVAL
#ifdef  USBD_HID1_HS_BINTERVAL
#define USBD_HID1_EP_INT_IN_HS_BINTERVAL        (USBD_HID1_HS_BINTERVAL)
#endif
#endif
#ifndef USBD_HID1_EP_INT_OUT_WMAXPACKETSIZE
#ifdef  USBD_HID1_WMAXPACKETSIZE
#define USBD_HID1_EP_INT_OUT_WMAXPACKETSIZE     (USBD_HID1_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID1_EP_INT_OUT_BINTERVAL
#ifdef  USBD_HID1_BINTERVAL
#define USBD_HID1_EP_INT_OUT_BINTERVAL          (USBD_HID1_BINTERVAL)
#endif
#endif
#ifndef USBD_HID1_EP_INT_OUT_HS_WMAXPACKETSIZE
#ifdef  USBD_HID1_HS_WMAXPACKETSIZE
#define USBD_HID1_EP_INT_OUT_HS_WMAXPACKETSIZE  (USBD_HID1_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID1_EP_INT_OUT_HS_BINTERVAL
#ifdef  USBD_HID1_HS_BINTERVAL
#define USBD_HID1_EP_INT_OUT_HS_BINTERVAL       (USBD_HID1_HS_BINTERVAL)
#endif
#endif

#ifndef USBD_HID1_USER_REPORT_DESCRIPTOR
#define USBD_HID1_USER_REPORT_DESCRIPTOR        (0U)
#endif
#endif

#ifdef  RTE_USB_Device_HID_2
#ifndef USBD_HID2_THREAD_STACK_SIZE
#define USBD_HID2_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_HID2_THREAD_PRIORITY
#define USBD_HID2_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_HID2_EP_INT_IN_WMAXPACKETSIZE
#ifdef  USBD_HID2_WMAXPACKETSIZE
#define USBD_HID2_EP_INT_IN_WMAXPACKETSIZE      (USBD_HID2_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID2_EP_INT_IN_BINTERVAL
#ifdef  USBD_HID2_BINTERVAL
#define USBD_HID2_EP_INT_IN_BINTERVAL           (USBD_HID2_BINTERVAL)
#endif
#endif
#ifndef USBD_HID2_EP_INT_IN_HS_WMAXPACKETSIZE
#ifdef  USBD_HID2_HS_WMAXPACKETSIZE
#define USBD_HID2_EP_INT_IN_HS_WMAXPACKETSIZE   (USBD_HID2_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID2_EP_INT_IN_HS_BINTERVAL
#ifdef  USBD_HID2_HS_BINTERVAL
#define USBD_HID2_EP_INT_IN_HS_BINTERVAL        (USBD_HID2_HS_BINTERVAL)
#endif
#endif
#ifndef USBD_HID2_EP_INT_OUT_WMAXPACKETSIZE
#ifdef  USBD_HID2_WMAXPACKETSIZE
#define USBD_HID2_EP_INT_OUT_WMAXPACKETSIZE     (USBD_HID2_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID2_EP_INT_OUT_BINTERVAL
#ifdef  USBD_HID2_BINTERVAL
#define USBD_HID2_EP_INT_OUT_BINTERVAL          (USBD_HID2_BINTERVAL)
#endif
#endif
#ifndef USBD_HID2_EP_INT_OUT_HS_WMAXPACKETSIZE
#ifdef  USBD_HID2_HS_WMAXPACKETSIZE
#define USBD_HID2_EP_INT_OUT_HS_WMAXPACKETSIZE  (USBD_HID2_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID2_EP_INT_OUT_HS_BINTERVAL
#ifdef  USBD_HID2_HS_BINTERVAL
#define USBD_HID2_EP_INT_OUT_HS_BINTERVAL       (USBD_HID2_HS_BINTERVAL)
#endif
#endif

#ifndef USBD_HID2_USER_REPORT_DESCRIPTOR
#define USBD_HID2_USER_REPORT_DESCRIPTOR        (0U)
#endif
#endif

#ifdef  RTE_USB_Device_HID_3
#ifndef USBD_HID3_THREAD_STACK_SIZE
#define USBD_HID3_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_HID3_THREAD_PRIORITY
#define USBD_HID3_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_HID3_EP_INT_IN_WMAXPACKETSIZE
#ifdef  USBD_HID3_WMAXPACKETSIZE
#define USBD_HID3_EP_INT_IN_WMAXPACKETSIZE      (USBD_HID3_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID3_EP_INT_IN_BINTERVAL
#ifdef  USBD_HID3_BINTERVAL
#define USBD_HID3_EP_INT_IN_BINTERVAL           (USBD_HID3_BINTERVAL)
#endif
#endif
#ifndef USBD_HID3_EP_INT_IN_HS_WMAXPACKETSIZE
#ifdef  USBD_HID3_HS_WMAXPACKETSIZE
#define USBD_HID3_EP_INT_IN_HS_WMAXPACKETSIZE   (USBD_HID3_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID3_EP_INT_IN_HS_BINTERVAL
#ifdef  USBD_HID3_HS_BINTERVAL
#define USBD_HID3_EP_INT_IN_HS_BINTERVAL        (USBD_HID3_HS_BINTERVAL)
#endif
#endif
#ifndef USBD_HID3_EP_INT_OUT_WMAXPACKETSIZE
#ifdef  USBD_HID3_WMAXPACKETSIZE
#define USBD_HID3_EP_INT_OUT_WMAXPACKETSIZE     (USBD_HID3_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID3_EP_INT_OUT_BINTERVAL
#ifdef  USBD_HID3_BINTERVAL
#define USBD_HID3_EP_INT_OUT_BINTERVAL          (USBD_HID3_BINTERVAL)
#endif
#endif
#ifndef USBD_HID3_EP_INT_OUT_HS_WMAXPACKETSIZE
#ifdef  USBD_HID3_HS_WMAXPACKETSIZE
#define USBD_HID3_EP_INT_OUT_HS_WMAXPACKETSIZE  (USBD_HID3_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID3_EP_INT_OUT_HS_BINTERVAL
#ifdef  USBD_HID3_HS_BINTERVAL
#define USBD_HID3_EP_INT_OUT_HS_BINTERVAL       (USBD_HID3_HS_BINTERVAL)
#endif
#endif

#ifndef USBD_HID3_USER_REPORT_DESCRIPTOR
#define USBD_HID3_USER_REPORT_DESCRIPTOR        (0U)
#endif
#endif

#ifdef  RTE_USB_Device_HID_4
#ifndef USBD_HID4_THREAD_STACK_SIZE
#define USBD_HID4_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_HID4_THREAD_PRIORITY
#define USBD_HID4_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_HID4_EP_INT_IN_WMAXPACKETSIZE
#ifdef  USBD_HID4_WMAXPACKETSIZE
#define USBD_HID4_EP_INT_IN_WMAXPACKETSIZE      (USBD_HID4_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID4_EP_INT_IN_BINTERVAL
#ifdef  USBD_HID4_BINTERVAL
#define USBD_HID4_EP_INT_IN_BINTERVAL           (USBD_HID4_BINTERVAL)
#endif
#endif
#ifndef USBD_HID4_EP_INT_IN_HS_WMAXPACKETSIZE
#ifdef  USBD_HID4_HS_WMAXPACKETSIZE
#define USBD_HID4_EP_INT_IN_HS_WMAXPACKETSIZE   (USBD_HID4_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID4_EP_INT_IN_HS_BINTERVAL
#ifdef  USBD_HID4_HS_BINTERVAL
#define USBD_HID4_EP_INT_IN_HS_BINTERVAL        (USBD_HID4_HS_BINTERVAL)
#endif
#endif
#ifndef USBD_HID4_EP_INT_OUT_WMAXPACKETSIZE
#ifdef  USBD_HID4_WMAXPACKETSIZE
#define USBD_HID4_EP_INT_OUT_WMAXPACKETSIZE     (USBD_HID4_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID4_EP_INT_OUT_BINTERVAL
#ifdef  USBD_HID4_BINTERVAL
#define USBD_HID4_EP_INT_OUT_BINTERVAL          (USBD_HID4_BINTERVAL)
#endif
#endif
#ifndef USBD_HID4_EP_INT_OUT_HS_WMAXPACKETSIZE
#ifdef  USBD_HID4_HS_WMAXPACKETSIZE
#define USBD_HID4_EP_INT_OUT_HS_WMAXPACKETSIZE  (USBD_HID4_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID4_EP_INT_OUT_HS_BINTERVAL
#ifdef  USBD_HID4_HS_BINTERVAL
#define USBD_HID4_EP_INT_OUT_HS_BINTERVAL       (USBD_HID4_HS_BINTERVAL)
#endif
#endif

#ifndef USBD_HID4_USER_REPORT_DESCRIPTOR
#define USBD_HID4_USER_REPORT_DESCRIPTOR        (0U)
#endif
#endif

#ifdef  RTE_USB_Device_HID_5
#ifndef USBD_HID5_THREAD_STACK_SIZE
#define USBD_HID5_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_HID5_THREAD_PRIORITY
#define USBD_HID5_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_HID5_EP_INT_IN_WMAXPACKETSIZE
#ifdef  USBD_HID5_WMAXPACKETSIZE
#define USBD_HID5_EP_INT_IN_WMAXPACKETSIZE      (USBD_HID5_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID5_EP_INT_IN_BINTERVAL
#ifdef  USBD_HID5_BINTERVAL
#define USBD_HID5_EP_INT_IN_BINTERVAL           (USBD_HID5_BINTERVAL)
#endif
#endif
#ifndef USBD_HID5_EP_INT_IN_HS_WMAXPACKETSIZE
#ifdef  USBD_HID5_HS_WMAXPACKETSIZE
#define USBD_HID5_EP_INT_IN_HS_WMAXPACKETSIZE   (USBD_HID5_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID5_EP_INT_IN_HS_BINTERVAL
#ifdef  USBD_HID5_HS_BINTERVAL
#define USBD_HID5_EP_INT_IN_HS_BINTERVAL        (USBD_HID5_HS_BINTERVAL)
#endif
#endif
#ifndef USBD_HID5_EP_INT_OUT_WMAXPACKETSIZE
#ifdef  USBD_HID5_WMAXPACKETSIZE
#define USBD_HID5_EP_INT_OUT_WMAXPACKETSIZE     (USBD_HID5_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID5_EP_INT_OUT_BINTERVAL
#ifdef  USBD_HID5_BINTERVAL
#define USBD_HID5_EP_INT_OUT_BINTERVAL          (USBD_HID5_BINTERVAL)
#endif
#endif
#ifndef USBD_HID5_EP_INT_OUT_HS_WMAXPACKETSIZE
#ifdef  USBD_HID5_HS_WMAXPACKETSIZE
#define USBD_HID5_EP_INT_OUT_HS_WMAXPACKETSIZE  (USBD_HID5_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID5_EP_INT_OUT_HS_BINTERVAL
#ifdef  USBD_HID5_HS_BINTERVAL
#define USBD_HID5_EP_INT_OUT_HS_BINTERVAL       (USBD_HID5_HS_BINTERVAL)
#endif
#endif

#ifndef USBD_HID5_USER_REPORT_DESCRIPTOR
#define USBD_HID5_USER_REPORT_DESCRIPTOR        (0U)
#endif
#endif

#ifdef  RTE_USB_Device_HID_6
#ifndef USBD_HID6_THREAD_STACK_SIZE
#define USBD_HID6_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_HID6_THREAD_PRIORITY
#define USBD_HID6_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_HID6_EP_INT_IN_WMAXPACKETSIZE
#ifdef  USBD_HID6_WMAXPACKETSIZE
#define USBD_HID6_EP_INT_IN_WMAXPACKETSIZE      (USBD_HID6_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID6_EP_INT_IN_BINTERVAL
#ifdef  USBD_HID6_BINTERVAL
#define USBD_HID6_EP_INT_IN_BINTERVAL           (USBD_HID6_BINTERVAL)
#endif
#endif
#ifndef USBD_HID6_EP_INT_IN_HS_WMAXPACKETSIZE
#ifdef  USBD_HID6_HS_WMAXPACKETSIZE
#define USBD_HID6_EP_INT_IN_HS_WMAXPACKETSIZE   (USBD_HID6_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID6_EP_INT_IN_HS_BINTERVAL
#ifdef  USBD_HID6_HS_BINTERVAL
#define USBD_HID6_EP_INT_IN_HS_BINTERVAL        (USBD_HID6_HS_BINTERVAL)
#endif
#endif
#ifndef USBD_HID6_EP_INT_OUT_WMAXPACKETSIZE
#ifdef  USBD_HID6_WMAXPACKETSIZE
#define USBD_HID6_EP_INT_OUT_WMAXPACKETSIZE     (USBD_HID6_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID6_EP_INT_OUT_BINTERVAL
#ifdef  USBD_HID6_BINTERVAL
#define USBD_HID6_EP_INT_OUT_BINTERVAL          (USBD_HID6_BINTERVAL)
#endif
#endif
#ifndef USBD_HID6_EP_INT_OUT_HS_WMAXPACKETSIZE
#ifdef  USBD_HID6_HS_WMAXPACKETSIZE
#define USBD_HID6_EP_INT_OUT_HS_WMAXPACKETSIZE  (USBD_HID6_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID6_EP_INT_OUT_HS_BINTERVAL
#ifdef  USBD_HID6_HS_BINTERVAL
#define USBD_HID6_EP_INT_OUT_HS_BINTERVAL       (USBD_HID6_HS_BINTERVAL)
#endif
#endif

#ifndef USBD_HID6_USER_REPORT_DESCRIPTOR
#define USBD_HID6_USER_REPORT_DESCRIPTOR        (0U)
#endif
#endif

#ifdef  RTE_USB_Device_HID_7
#ifndef USBD_HID7_THREAD_STACK_SIZE
#define USBD_HID7_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_HID7_THREAD_PRIORITY
#define USBD_HID7_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_HID7_EP_INT_IN_WMAXPACKETSIZE
#ifdef  USBD_HID7_WMAXPACKETSIZE
#define USBD_HID7_EP_INT_IN_WMAXPACKETSIZE      (USBD_HID7_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID7_EP_INT_IN_BINTERVAL
#ifdef  USBD_HID7_BINTERVAL
#define USBD_HID7_EP_INT_IN_BINTERVAL           (USBD_HID7_BINTERVAL)
#endif
#endif
#ifndef USBD_HID7_EP_INT_IN_HS_WMAXPACKETSIZE
#ifdef  USBD_HID7_HS_WMAXPACKETSIZE
#define USBD_HID7_EP_INT_IN_HS_WMAXPACKETSIZE   (USBD_HID7_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID7_EP_INT_IN_HS_BINTERVAL
#ifdef  USBD_HID7_HS_BINTERVAL
#define USBD_HID7_EP_INT_IN_HS_BINTERVAL        (USBD_HID7_HS_BINTERVAL)
#endif
#endif
#ifndef USBD_HID7_EP_INT_OUT_WMAXPACKETSIZE
#ifdef  USBD_HID7_WMAXPACKETSIZE
#define USBD_HID7_EP_INT_OUT_WMAXPACKETSIZE     (USBD_HID7_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID7_EP_INT_OUT_BINTERVAL
#ifdef  USBD_HID7_BINTERVAL
#define USBD_HID7_EP_INT_OUT_BINTERVAL          (USBD_HID7_BINTERVAL)
#endif
#endif
#ifndef USBD_HID7_EP_INT_OUT_HS_WMAXPACKETSIZE
#ifdef  USBD_HID7_HS_WMAXPACKETSIZE
#define USBD_HID7_EP_INT_OUT_HS_WMAXPACKETSIZE  (USBD_HID7_HS_WMAXPACKETSIZE)
#endif
#endif
#ifndef USBD_HID7_EP_INT_OUT_HS_BINTERVAL
#ifdef  USBD_HID7_HS_BINTERVAL
#define USBD_HID7_EP_INT_OUT_HS_BINTERVAL       (USBD_HID7_HS_BINTERVAL)
#endif
#endif

#ifndef USBD_HID7_USER_REPORT_DESCRIPTOR
#define USBD_HID7_USER_REPORT_DESCRIPTOR        (0U)
#endif
#endif


/*------------------------------------------------------------------------------
 *      USB Device MSC 0..3 compatibility defines
 *----------------------------------------------------------------------------*/

#ifdef  RTE_USB_Device_MSC_0
#ifndef USBD_MSC0_THREAD_STACK_SIZE
#define USBD_MSC0_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_MSC0_THREAD_PRIORITY
#define USBD_MSC0_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_MSC0_BULK_BUF_SIZE
#define USBD_MSC0_BULK_BUF_SIZE                 (USBD_MSC0_MAX_PACKET)
#endif

#ifndef USBD_MSC0_LUN_NUM
#define USBD_MSC0_LUN_NUM                       (0U)
#endif
#ifndef USBD_MSC0_MAX_LUN
#define USBD_MSC0_MAX_LUN                       (USBD_MSC0_LUN_NUM)
#endif
#endif

#ifdef  RTE_USB_Device_MSC_1
#ifndef USBD_MSC1_THREAD_STACK_SIZE
#define USBD_MSC1_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_MSC1_THREAD_PRIORITY
#define USBD_MSC1_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_MSC1_BULK_BUF_SIZE
#define USBD_MSC1_BULK_BUF_SIZE                 (USBD_MSC1_MAX_PACKET)
#endif

#ifndef USBD_MSC1_LUN_NUM
#define USBD_MSC1_LUN_NUM                       (0U)
#endif
#ifndef USBD_MSC1_MAX_LUN
#define USBD_MSC1_MAX_LUN                       (USBD_MSC1_LUN_NUM)
#endif
#endif

#ifdef  RTE_USB_Device_MSC_2
#ifndef USBD_MSC2_THREAD_STACK_SIZE
#define USBD_MSC2_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_MSC2_THREAD_PRIORITY
#define USBD_MSC2_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_MSC2_BULK_BUF_SIZE
#define USBD_MSC2_BULK_BUF_SIZE                 (USBD_MSC2_MAX_PACKET)
#endif

#ifndef USBD_MSC2_LUN_NUM
#define USBD_MSC2_LUN_NUM                       (0U)
#endif
#ifndef USBD_MSC2_MAX_LUN
#define USBD_MSC2_MAX_LUN                       (USBD_MSC2_LUN_NUM)
#endif
#endif

#ifdef  RTE_USB_Device_MSC_3
#ifndef USBD_MSC3_THREAD_STACK_SIZE
#define USBD_MSC3_THREAD_STACK_SIZE             (0U)
#endif
#ifndef USBD_MSC3_THREAD_PRIORITY
#define USBD_MSC3_THREAD_PRIORITY               (osPriorityAboveNormal)
#endif

#ifndef USBD_MSC3_BULK_BUF_SIZE
#define USBD_MSC3_BULK_BUF_SIZE                 (USBD_MSC3_MAX_PACKET)
#endif

#ifndef USBD_MSC3_LUN_NUM
#define USBD_MSC3_LUN_NUM                       (0U)
#endif
#ifndef USBD_MSC3_MAX_LUN
#define USBD_MSC3_MAX_LUN                       (USBD_MSC3_LUN_NUM)
#endif
#endif

#endif  // USBD_COMPATIBILITY_
